clear,clc
%创建一个三维数据
x=100:100:500;
y=100:100:400;
z=[636 697 624 478 450
698 712 630 478 420
680 674 598 412 400
662 626 552 334 310];
%二维插值的三次样条插值 pp=csape({x0,y0},z0,conds,valconds); z=fnval(pp,{x,y});
    % 其中 x0,y0 分别为 m 维和 n 维向量
    % z0 为 m × n 维矩阵
    % z 为矩阵，它的行数为 x 的维数，列数为 y 的维数，表示得到的插值，具体使用方法同一维插值。
pp=csape({x,y},z');
xi=100:10:500;yi=100:10:400;
cz1=fnval(pp,{xi,yi});

%二维插值 z=interp2(x0,y0,z0,x,y,'method');
    % 其中 x0,y0 分别为 m 维和 n 维向量，表示节点
    % z0 为 n × m 维矩阵，表示节点值
    % x,y为一维数组，表示插值点
    % x 与 y 应是方向不同的向量，即一个是行向量，另一个是列向量
    % z 为矩阵，它的行数为 y 的维数，列数为 x 的维数，表示得到的插值
    % 'method'的用法同上面的一维插值
cz2=interp2(x,y,z,xi,yi','spline');

[x,y]=meshgrid(xi,yi);
subplot(1,2,1),mesh(x,y,cz1');
xlabel('x轴'); ylabel('y轴'); zlabel('z轴'); % 加上坐标轴的标签
% axis vis3d % 冻结屏幕高宽比，使得一个三维对象的旋转不会改变坐标轴的刻度显示
title('方法一')
subplot(1,2,2),mesh(x,y,cz2);
xlabel('x轴'); ylabel('y轴'); zlabel('z轴'); % 加上坐标轴的标签
% axis vis3d % 冻结屏幕高宽比，使得一个三维对象的旋转不会改变坐标轴的刻度显示
title('方法二')

